AI に依存していてやばいことになっている話
いつか受けたコーディングテスト(めちゃ簡単)で Pyton のビルトイン の配列の reverse() メソッドを使わずに、配列の要素を逆順に並べた配列を返す関数を作成させられたことを今週思い出した 会社の研修というか評価制度というかで JavaScript の配列操作を誦じることができるかどうかという項目がある それでごちゃごちゃやっていて思い出した
それで最初に何も見ずに書いたコードが大体⬇️の感じ
code:js
function myReverse(arr) {
const result = [];
for (const i = arr.length; i = 0; i--) {
}
return result;
}
console.log(myReverse(fruits));
本当にやばすぎる
言うまでもないけど問題点を列挙する
配列 arr に arr.length というインデックスは存在しない(最大で arr.length - 1)
for 文の 2 番目のところ(ループ条件)が判定ではなく代入になっている(意図していたのは i === 0)
仮にループ条件が i === 0 だったとして間違っている(この条件だと 1 回もループが実行されない)
本当にやばすぎるのでやっぱり手で書くことをしないとぼくはダメそう
元々の記憶力や能力が低いので AI に依存すると壊滅することになる
すでに重症だけど早期発見できてよかった
健康診断となるのでたまにはどんな簡単なコードでも手で書くことをする
基礎がまずいと全部まずい
余談
code:ts
function myReverse<T>(arr: T[]) {
const result: T[] = [];
// ...
}
大体こんな感じになる
これをやろうとしてみて困った
今までやったことがなかったので調べると、
code:ts
const fn = <T>(arg: T): T => {
// ...
}
こんな感じらしい
そこに <T> が来るのかよ
これを使用して myReverse() を書くと
code:ts
const myReverse = <T>(arr: T[]): T[] => {
const result: T[] = [];
// ...
}
って感じになる
配列の初期化の際には型があった方が嬉しい